using UnityEngine;
using System.Collections;

public class Animation 
{
	public int width;			// Largeur de l'image
	public int nbStep;			// Nombre d'étapes composant l'animation
	public int idStep;			// Etape en cours
	public int lastStep;		// Indice de la frame de la dernière étape d'animation
	
	public int frameInterval;	// Nombre d'image devant s'écouler entre chaque changement d'étape d'animation

	public int frameCount;		// Nombre d'image affiché depuis la création de l'objet
	
	public Texture2D spriteSheet;	// Texture contenant toutes les différentes étapes de l'animation à découper
									
	

	
	
	public void LoadSpriteSheet(string fileName, int aNbStep, int aframeInterval)
	{
		nbStep=aNbStep;
		frameInterval=aframeInterval;
		
		idStep=0;
		frameCount=0;
		lastStep=0;
		
		spriteSheet= new Texture2D(32,32);
		spriteSheet= (Texture2D) Resources.Load(fileName);
		width=spriteSheet.width;
	}
	
	
	public void Update(Renderer rend)
	{	
		rend.material.mainTextureOffset=(new Vector2((float)idStep/(float)nbStep, 0));
		rend.material.SetTextureScale("_MainTex", new Vector2( 1.0f/(float)nbStep, 1));
		
		
		if(frameCount-lastStep>frameInterval)
		{
			lastStep=frameCount;
			idStep=(idStep+1)%nbStep;
			
		}
		frameCount++;
	}

	
}
